Revert "gtkwidget: Ensure unrealization during event dispatching cancels gestures"
authorCarlos Garnacho <carlosg@gnome.org>
Fri, 18 Sep 2015 10:59:00 +0000 (12:59 +0200)
committerCarlos Garnacho <carlosg@gnome.org>
Fri, 18 Sep 2015 10:59:00 +0000 (12:59 +0200)
This reverts commit 13873d2c507783042df55ad2c48f37a346121fd0.

gtk/gtkwidget.c

index ebfc1ffa64dcdc87f28d280091adb93af9ed2527..ffd6b99bbd09a24254029c0c42c5d57d443dd0ae 100644 (file)
@@ -7356,22 +7356,6 @@ cancel_event_sequence_on_hierarchy (GtkWidget        *widget,
     }
 }
 
-static void
-event_check_cancel_sequence_on_hierarchy (GtkWidget *widget,
-                                          GdkEvent  *event)
-{
-  GdkDevice *source_device;
-
-  source_device = gdk_event_get_source_device (event);
-
-  if (source_device &&
-      gdk_device_get_source (source_device) != GDK_SOURCE_KEYBOARD &&
-      event->type != GDK_ENTER_NOTIFY && event->type != GDK_LEAVE_NOTIFY)
-    cancel_event_sequence_on_hierarchy (widget,
-                                        gtk_get_event_widget (event),
-                                        gdk_event_get_event_sequence (event));
-}
-
 gboolean
 _gtk_widget_captured_event (GtkWidget *widget,
                             GdkEvent  *event)
@@ -7402,15 +7386,7 @@ _gtk_widget_captured_event (GtkWidget *widget,
   g_object_ref (widget);
 
   return_val |= handler (widget, event);
-
-  if (!WIDGET_REALIZED_FOR_EVENT (widget, event))
-    {
-      /* We stop event propagation, but still we must ensure the sequence is
-       * cancelled across the widget hierarchy.
-       */
-      event_check_cancel_sequence_on_hierarchy (widget, event);
-      return_val = TRUE;
-    }
+  return_val |= !WIDGET_REALIZED_FOR_EVENT (widget, event);
 
   /* The widget that was originally to receive the event
    * handles motion hints, but the capturing widget might
@@ -7725,13 +7701,7 @@ gtk_widget_event_internal (GtkWidget *widget,
   if (WIDGET_REALIZED_FOR_EVENT (widget, event))
     g_signal_emit (widget, widget_signals[EVENT_AFTER], 0, event);
   else
-    {
-      /* We stop event propagation, but still we must ensure the sequence is
-       * cancelled across the widget hierarchy.
-       */
-      event_check_cancel_sequence_on_hierarchy (widget, event);
-      return_val = TRUE;
-    }
+    return_val = TRUE;
 
   g_object_unref (widget);